VirtualDub help - Processing: Frameserver | |||||||
Processing: Main UI Video captureEditing Filtering Rendering/saving Artifacts The pipeline Direct mode Display panes Frameserver Video filter reference Video shader reference Hardware setup Dialogs:Driver selection Audio setup Pipeline Filtering Info panel Multi-segment mode Timing dialog Performance Troubleshooting Video filters On a crash...Video frame rate control Video color depth Video range Video compression Audio filters Audio interleaving Audio compression Audio conversion Audio volume Capture settings Preferences | The frameserver feature allows other programs to pull video directly from VirtualDub's rendering pipeline. This allows video to be filtered through VirtualDub and then processed by another application without the need to write an intermediate file to disk. Starting the frameserverThe frameserver is built into VirtualDub and is accessible through the File > Start frameserver menu command. This command starts a frameserver in the system with the currently loaded video and filtering settings. After the frameserver is started, other applications can connect to it. Not all features in VirtualDub work while the frameserver is active. The following processing features do work:
The following features are disabled when the frameserver is active:
Video is always sent from the frameserver in 24-bit RGB format for maximum compatibility. When the frameserver is started, VirtualDub will ask you for a name to use for the new frameserver, as well as to save a signpost file. The name is used to distinguish frameservers on the system; the signpost file tells the client driver which frameserver to connect to. The signpost file, which normally uses the .vdr filename extension, is used as input to the client application and contains the frameserver name.
Connecting a client application through the AVIFile driverThe best way to connect a client to VirtualDub's frameserver is through the AVIFile driver. AVIFile is a older programming API in Windows that allows programs to extract audio and video from media files, such as AVI. As it is extensible, VirtualDub ships with an AVIFile driver that extends such programs to read their data directly from the frameserver rather than from a file on disk.
To install the frameserver, use the auxsetup program that comes with VirtualDub. This will copy the driver to Windows' system folder and add entries to the Windows Registry to enable its use in AVIFile. This tool can also be used to remove the driver. On Windows NT/2000/XP, you must be running as a local administrator to install or uninstall the AVIFile driver. Once the AVIFile driver is installed, AVIFile-based applications should be able to connect to the frameserver simply by opening the .vdr file that was created when the frameserver was started. VirtualDub is itself capable of doing this, so opening a second instance is a way to test the frameserver connection. After an application is connected and has started pulling audio and video data, the activity totals on the frameserver dialog will increment as data is transferred. Installing the AVIFile driver in proxy modeSome applications use the AVIFile API are still not able to use the frameserver because they require the .avi filename extension or otherwise prevent non-AVI drivers from being used. In this case, enabling a special mode of the VirtualDub AVIFile driver called proxy mode can help. To do this, install the proxyon.reg file that comes with VirtualDub; this adds additional entries in the Windows Registry to remap the AVI entry as well. Use the proxyoff.reg file to undo this.
Once proxy mode has been enabled, renaming the .vdr signpost file to use the .avi filename extension will allow additional applications to function. As an additional bonus, when proxy mode is enabled, the AVIFile driver will tunnel through any file that begins with the nine characters #avisynth through to the Avisynth scriptable video processing tool. The additional compatibility unlocked by proxy mode is thus also extended to Avisynth. |